<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <title>导数的应用</title>
    <meta charset="utf-8" />
    <link rel="stylesheet" type="text/css" href="../../css/note.css" />
</head>
<body>

<h2>微分中值定理</h2>

<p class="definition">
  <b>极值</b> 设函数 `f` 在 `x_0` 的某邻域内有定义, 若存在 `delta gt 0`, 使
  `f(x_0)` 是 `B(x_0, delta)` 上的最大值, 即成立
  <span class="formula">
      `f(x) le f(x_0)`, `AA x in B(x_0, delta)`,
  </span>
  则称 `x_0` 为 `f` 的一个<b>极大值点</b>,
  `f(x_0)` 称为 `f` 的一个<b>极大值</b>.
  类似可以定义极小值点和极小值的概念. 极大值 (点) 和极小值 (点)
  通称为极值 (点).
  若定义中的不等号换成严格不等号, 则 `x_0` 称为 `f` 的<b>严格极大值点</b>.
</p>

<p class="remark">
	由定义知, 极值就是局部最值, 是局部性的概念, 只和
	`f` 在某一 `x_0` 附近的定义有关.
</p>

<p class="corollary">
	若函数 `f` 在其定义域 `D` 的内点 `x_0` (即存在某邻域 `B(x_0,
	delta)`, 使得 `B(x_0, delta) sube D`) 达到最大值, 则 `x_0` 也是 `f`
	的极大值点; 极小值点也有类似结论.
</p>

<p class="lemma">
  <b>函数取极值的必要条件 (Fermat 引理)</b>
  设函数 `f` 在极值点 `x_0` 可导, 则 `f'(x_0) = 0`.
</p>

<p class="proof">
	不妨设 `f` 在 `x_0` 点极大. 则存在 `delta gt 0`, 使得
	<span class="formula">
		`f(x) le f(x_0)`, `AA x in (x-delta, x+delta)`.
	</span>
	令 `g(x) = (f(x) - f(x_0))/(x-x_0)`, 于是
	<span class="formula">
		`g(x) {
			le 0, if x_0 lt x lt x_0+delta;
			ge 0, if x_0-delta lt x lt x_0;
		:}`
	</span>
	由 `f` 在 `x_0` 可导知, `f'_+(x_0)`, `f'_(-)(x_0)`, `f'(x_0)`
	都存在且相等. 从而由函数极限的保序性知
	<span class="formula">
		`f'_+(x_0) = lim_(x to x_0^+) g(x) le 0`,<br/>
		`f'_(-)(x_0) = lim_(x to x_0^-) g(x) ge 0`.
	</span>
	但是它们必相等, 于是 `f'(x_0) = 0`.
</p>

<p class="remark">
	这个定理的几何意义是, `f` 在极值点如果可导,
	则它的图像在该点的切线平行于 `x` 轴.
</p>

<p class="theorem">
  <b>Rolle 定理</b> 设函数 `f` 在闭区间 `[a, b]` 上连续, 开区间 `(a, b)`
  上可微, 且 `f(a) = f(b)`; 则 `f'` 在 `(a, b)` 上存在零点, 换言之,
  必存在 `xi in (a, b)`, 使 `f'(xi) = 0`.
</p>

<p class="proof">
	记 `f(a) = f(b) = c`.
	由 `f` 在 `[a, b]` 上连续知, `f` 在 `[a, b]` 上取得最大值 `f(x_M)`
	和最小值 `f(x_m)`, 其中 `x_M`, `x_m in [a, b]`.
	我们不妨设 `f` 不是 `[a, b]` 上的常值函数 (否则它的导数处处为零,
	结论是平凡的), 则 `f(x_m) lt f(x_M)`. 这两个数必有一个与 `c`
	不相等, 设 `f(x_m) != c`, 则 `x_m != a, b`, 即 `x_m in (a, b)`
    是区间的内点, 从而是 `f` 的极小值点.
	由 Fermat 引理知 `f'(x_m) = 0`.
</p>

<p class="remark">
	这个定理的几何意义是, 满足上述条件的函数 `f` 的图像在某点处具有水平的切线.
</p>

<ol class="example">
	可以举反例说明, Rolle 定理的三个条件缺一不可.
	<li>`f(x) = { x, if 0 le x lt 1; 0, if x = 1 :}`
		在 `(0, 1)` 上可微, 但 `1` 是 `f` 的一个间断点.
		它的导数 `f'(x) = 1` 在 `(0, 1)` 上没有零点.
	</li>
	<li>`f(x) = sqrt(|x|)` 在 `[-1, 1]` 上连续, 但在原点不可导;
		它的导数 `f'(x) = ("sgn" x)/(2sqrt(|x|)` 在 `(-1, 1)` 上没有零点.
	</li>
</ol>

<p class="theorem">
	<b>Lagrange 中值定理</b>
	设函数 `f` 在闭区间 `[a, b]` 上连续, 开区间 `(a, b)` 上可微;
	则必存在 `xi in (a, b)` 使
	<span class="formula">
		`f'(xi) = (f(b) - f(a))/(b-a)`.
	</span>
</p>

<p class="proof">
	注意到连接 `f` 的图像的两个端点的直线方程是
	<span class="formula">
		`g(x) = y = f(a) + (f(b) - f(a))/(b-a) (x-a)`,
	</span>
	引进辅助函数 `F(x) = f(x) - g(x)`, 则 `F` 在 `[a, b]` 上连续, 在 `(a,
	b)` 上可微. 注意到 `g(a) = f(a)`, `g(b) = f(b)`, 我们有 `F(a) = F(b) =
	0`. 应用 Rolle 定理知, 存在 `xi in (a, b)`, 使 `F'(xi) = f'(xi) -
	g'(xi) = 0`, 即 `f'(xi) = (f(b) - f(a))/(b-a)`.
</p>

<p class="remark">
	这个定理的几何意义是, 满足定理条件的 `f`
	的图像在某点的切线平行于曲线两个端点的连线; 换言之, `f`
	在某一点的导数等于 `f` 在区间端点的差商.<br/>
	应当注意, `xi` 与函数 `f` 的定义和区间 `[a, b]` 有关; 定理只给出
	`xi` 的存在性, 而无法求出具体的值, 也不保证 `xi` 是唯一的. 尽管如此,
	在许多应用场合, 这个存在性的结论已经足够.
</p>

<p class="theorem">
	<b>Cauchy 中值定理</b>
	设函数 `f, g` 都在闭区间 `[a, b]` 上连续, 开区间
	`(a, b)` 上可微; 则必存在 `tau in (a, b)` 使得
	<span class="formula">
		`f'(tau) (g(b) - g(a)) = g'(tau) (f(b) - f(a))`.
	</span>
	当 `g(b) != g(a)`, 且 `f', g'` 无公共的零点时, 上式可以写成
	<span class="formula">
		`(f'(tau))/(g'(tau)) = (f(b) - f(a))/(g(b) - g(a))`.
	</span>
</p>

<p class="proof">
	若 `g(b) = g(a)`, 且 `f(b) = f(a)`, 则结论显然.
	注意到定理中 `f, g` 地位对等, 我们可以设 `g(b) != g(a)`.
	现在考虑曲线 `(g(t), f(t))`, 其割线方程为
	<span class="formula">
		`y = f(a) + (f(b)-f(a))/(g(b)-g(a))(x-g(a))`,
	</span>
	令
	<span class="formula">
		`h(t) = f(a) + (f(b)-f(a))/(g(b)-g(a))(g(t)-g(a))`,
	</span>
	引入辅助函数 `F(t) = f(t) - h(t)`, 则 `F` 在 `[a, b]` 上连续, 在 `(a,
	b)` 上可微, 且 `F(a) = F(b) = 0`. 由 Rolle 定理, 必存在 `tau in (a,
	b)`, 使 `F'(tau) = f'(tau) - h'(tau) = 0`, 即
	<span class="formula">
		`f'(tau) = (f(b)-f(a))/(g(b)-g(a))g'(tau)`.
	</span>
</p>

<p class="remark">
	考虑可微曲线的参数方程 `(g(t), f(t))`, `t in [a, b]`, 则 Cauchy
	中值定理的几何意义是, 曲线在某一点 `t = tau`
	的切线平行于连接曲线两个端点的割线.
</p>

<p class="remark">
	Lagrange 和 Cauchy 中值定理的证明中用到的辅助函数,
	可以从积分的思路去构造:
	如 Lagrange 中值定理, 将 `f'(x) = (f(b) - f(a))/(b-a)` 移项并积分得
	<span class="formula">
		`F(x) = f(x) - (f(b)-f(a))/(b-a) x + c`,
	</span>
	其中 `c` 为任意常数. 容易验证 `F(b) - F(a) = 0`.
	再看 Cauchy 中值定理, 将结论的等式 `f'(x) = (f(b)-f(a))/(g(b)-g(a))
	g'(x)` 积分得到
	<span class="formula">
		`F(x) = f(x) - (f(b)-f(a))/(g(b)-g(a)) g(x) + c`.
	</span>
	同样可验证 `F(b) - F(a) = 0`.
	从积分思想出发, 可以运用 Rolle 定理导出更多的中值公式.
</p>

<h3>微分中值定理的应用</h3>

<p class="theorem">
	<b>导函数连续性定理</b>
	设函数 `f` 在 `x_0` 的某邻域 `B(x_0, delta)` 上连续,
	且在 `B(x_0, delta) \\ {x_0}` 上可微, 而 `x_0` 点处是否可微尚不了解.
	现在假设 `lim_(x to x_0) f'(x) = a`, 则 `f` 在 `x_0` 处可微, 且
	`f'(x_0) = a`.
</p>

<p class="proof">
	任取 `x in (x_0-delta, x_0)`, 容易验证 `f` 在 `[x, x_0]` 上满足
	Lagrange 中值定理的条件. 于是存在 `xi_x in (x, x_0)`, 使
	<span class="formula">
		`f'(xi_x) = (f(x) - f(x_0))/(x-x_0)`.
	</span>
	由 `xi_x in (x, x_0)` 知 `x to x_0^-` 时 `xi_x to x_0^-`,
	上式两边取极限得
	<span class="formula">
		`lim_(x to x_0^-) (f(x) - f(x_0))/(x-x_0)
		= lim_(x to x_0^-) f'(xi_x) = a`,
	</span>
	即 `f'_(-)(x_0) = a`. 同理 `f'_+(x_0) = a`, 从而结论成立.
</p>

<p class="remark">
	这一定理说明, 连续函数的导函数不存在可去间断点.
	从证明可以看出, 如果把条件换成 `f` 在 `(x_0 - delta, x_0]` 连续,
	在 `(x_0 - delta, x_0)` 可微,
	并将条件中的极限换成左极限, 则 `f` 在 `x_0` 的左导数等于 `a`;
	右导数的情形类似.
</p>

<p class="example">
	设 `f` 在 `[0, 1]` 上可导, `f(0) = 0`, 且 `|f'(x)| le |f(x)|`, `AA
	x in [0, 1]`. 证明: `f` 在 `[0,1]` 上恒为零.
</p>

<p class="proof">
	任取 `x in (0, 1)`, 在 `[0, x]` 上应用微分中值定理, 有
	<span class="formula">
		`|f(x)| = |f(x)-f(0)| = x|f'(xi_1)|`
		`le x|f(xi_1)|`.
	</span>
	其中 `xi_1 in (0,x)`.
	下证对任意正整数 `n`, 存在 `xi_n in (0,x)`, `|f(x)| le x^n |f(xi_n)|`.
	`n = 1` 时命题已经成立. 假设命题对 `n-1` 成立, 考察 `n` 的情形,
	将上式的 `x` 换为 `xi_(n-1)` 就有
	<span class="formula">
		`|f(xi_(n-1))| le xi_(n-1)|f(xi_n)| le x|f(xi_n)|`,
	</span>
	其中 `xi_n in (0,xi_(n-1))`. 于是
	<span class="formula">
		`|f(x)| le x^(n-1)|f(xi_(n-1))| le x^n|f(xi_n)|`.
	</span>
	命题得证. 又显然 `f(x)` 在 `[0, 1]` 上有界, 于是由上式, `f(x) = 0`,
	`AA x in (0, 1)`, 再由连续性知道  `f(1) = 0`.
</p>

<ol class="example">
	设 `f, g` 在 `[a, b]` 上二阶可导, `f(a) = f(b) = g(a) = g(b) = 0`, 且
	`AA x in (a, b)`, `g''(x) != 0`. 证明
	<li>`AA x in (a, b)`, `g(x) != 0`;</li>
	<li>`EE xi in (a, b)`, `(f(xi))/(g(xi)) = (f''(xi))/(g''(xi))`.</li>
</ol>

<ol class="proof">
	<li>设 `EE z in (a,b)`, `g(z) = 0`, 则由 Rolle 定理, 存在 `x_1 in
		(a,z)`, `x_2 in (z,b)`, 使得
		<span class="formula">
			`g'(x_1) = g'(x_2) = 0`.
		</span>
		再由 Rolle 定理, 存在 `x_3 in (x_1,x_2)`, 使得 `g''(x_3) = 0`,
		矛盾.
	</li>
	<li>令 `F = f g'-f'g`, 则 `F(a) = F(b) = 0`. 由 Rolle 定理, 存在
		`xi in (a,b)`, 使得 `F'(xi) = (f g''-f''g)(xi) = 0`,
		即得所证的等式.
	</li>
</ol>

<p class="example">
	设 `f` 在 `[-2, 2]` 上二阶可导, 且 `|f(x)| le 1`, 又 `f^2(0) +
	[f'(0)]^2 = 4`. 证明: `EE xi in (-2, 2)`, `f(xi) + f''(xi) = 0`.
</p>

<p class="proof">
	(很不好想...)
	设 `F(x) = f^2(x) + [f'(x)]^2`, 则 `F(0) = 4`. 注意到
	<span class="formula">
		`F' = 2f f' + 2f'f'' = 2f'(f+f'')`.
	</span>
	从而由 Fermat 定理知, `F` 在极值点处有 `f'(f+f'') = 0`.
	下面寻找合适的区间, 使 `F` 在其上取得极值. 事实上, 由 Lagrange
	中值定理, 存在 `eta in (-2,0)`, `zeta in (0,2)`, 使
	<span class="formula">
		`f'(eta) = (f(0)-f(-2))/2`, `quad f'(zeta) = (f(2)-f(0))/2`.
	</span>
	由 `|f(x)| le 1` 有 `|f'(eta)|, |f'(zeta)| le 1`, 从而
	`F(eta), F(zeta) le 2`.
	现在设 `F` 在 `[eta, zeta]` 上的最大值在 `xi` 处取得,
	则 `F(xi) ge F(0) = 4`, 所以 `xi != eta, zeta`,
	从而`xi` 是 `[eta, zeta]` 内点, 因此是 `F` 的极大值点.
	从而 `f'(xi)(f(xi)+f''(xi)) = 0`.
	但 `F(xi) ge 4`, `|f(x)| le 1`, 故 `f'(xi) != 0`.
	得到
	<span class="formula">
		`f(xi) + f''(xi) = 0`.
	</span>
</p>

<p class="example">
	<b>万能构造</b> `"e"^(g(x)) f(x)` 与 `f(x)` 有相同的零点, 常常用来证明
	`f` 的零点的存在性. 求导得
	<span class="formula">
		`("e"^(g) f)' = "e"^(g) (g' f + f')`,<br/>
        `("e"^(g) f)'' = "e"^(g) (({:g':}^2 + g'') f + 2 g' f' + f'')`.
	</span>
</p>

<h2>洛必达 (L'Hôpital) 法则</h2>

<p class="example">
  设 `f` 在 `[0, oo)` 上可导, 且 `lim_(x to +oo) f(x) + f'(x) = a`,
  证明 `lim_(x to +oo) f(x) = a`.
</p>

<p class="proof">
  对 `f(x) = ("e"^x f(x))/"e"^x` 应用洛必达法则,
  <span class="formula">
    `lim_(x to +oo) f(x)`
    `= lim_(x to +oo) ("e"^x (f(x) + f'(x)))/"e"^x`
    `= a`.
  </span>
</p>

<h2>函数的极值</h2>

<p class="example">
	在原点连续的偶函数, 原点常常是其极值点. 如 `sin x sin 2x`,
	当 `x` 接近零但不等于零时, `sin x sin 2x gt 0`, 而函数在原点等于零,
	因此原点是它的极值点.
	但也有反例, 这时函数在原点上下振荡. 如 `x sin{:1/x:}`.
</p>

<h2>函数的凹凸性</h2>

<p class="definition">
	设 `f` 在区间 `I` 上有定义, 如果对 `AA t in [0,1]` 和 `AA a, b in I`
	都有
	<span class="formula">
		`f((1-t)a+t b) le (1-t) f(a) + t f(b)`,
	</span>
	则称 `f` 是区间 `I` 上的<b>下凸函数</b>; 若 `t in(0,1)`, `a != b` 时,
	不等式严格成立, 则称 `f` 在 `I` 上<b>严格下凸</b>.
	若不等式方向相反, 类似可定义上凸函数和严格上凸函数.
</p>

<p class="remark">
	`(1-t)a + t b = a + t(b-a) = b - (1-t)(b-a)`.
</p>

<p class="example">
	`|x|`, `"e"^x` 是 `RR` 上的下凸函数;
	`ln x` 是 `(0,+oo)` 上的上凸函数;
	`p gt 1` 时, `x^p` 是 `[0,+oo)` 上的下凸函数,
	`0 lt p lt 1` 时, 它是 `[0,+oo)` 上的上凸函数.
</p>

<ol class="theorem">
	若 `f, g` 是区间 `I` 上的下凸函数, 则
	<li>`-f` 是 `I` 上的上凸函数;</li>
	<li>`a f + b g` 是 `I` 上的下凸函数, `a, b` 为实数;</li>
	<li>`max{f(x), g(x)}` 是 `I` 上的下凸函数;</li>
	<li>若 `f, g` 非负且单调递增, 则 `f g` 是 `I` 上的下凸函数;</li>
	<li>若 `f` 的值域含于 `J`, `h` 是 `J` 上单调递增的下凸函数, 则
		`h @ f` 是 `I` 上的下凸函数.
	</li>
</ol>

<ol class="theorem">
  下面各命题等价:
  <li>`f` 是区间 `I` 上的下凸函数;</li>
  <li>对 `I` 中任意 `x lt y lt z` 有
    <span class="formula">
      `|1,1,1;
      x,y,z;
      f(x),f(y),f(z)| ge 0`;
    </span>
    也就是说, `(x, f(x))`, `(y, f(y))`, `(z, f(z))`
    三点以逆时针方向围成三角形.
  </li>
  <li>对互不相同的 `x,y,z in I` 有
    <span class="formula">
      `((z-y)f(x) + (x-z)f(y) + (y-x)f(z))/((z-y)(x-z)(y-x)) le 0`;
    </span>
  </li>
  <li>定义在 `I` 上的差商函数 (斜率函数) `(f(x)-f(y))/(x-y)` 关于 `x,y`
    都单调递增.</li>
</ol>

<ol class="proof">
  <li>`iff` 2. 令 `y = x + t (z-x)`, 其中 `t = (y-x)/(z-x)`, 于是
    <span class="formula align">
      `f(y) le f(x) + t(f(z) - f(x))`<br>
      `iff (z-x)f(y) le (z-x) f(x) + (y-x)(f(z) - f(x))`<br>
      `iff (z-y) f(x) + (x-z) f(y) + (y-x) f(z) ge 0`,
    </span>
    即得结论.
  </li>
  <li>`iff` 3. 注意分子就是 2. 中的行列式. 且分子分母都是交代式:
    任意交换 `x, y, z` 中的两个字母, 所得的结果相差一个负号.
    由于对换一次字母时, 分子分母同时变号, 因此总的结果不变.
    我们可以通过一系列对换操作使得 `x lt y lt z`, 从而化为 2. 的情形.
  </li>
  <li>`iff` 4. 不妨设 `x lt y lt z`, 下证
    <span class="formula">
      `(f(x)-f(y))/(x-y) le (f(z) - f(y))/(z-y)`.
    </span>
    事实上, 上式等价于
    <span class="formula align">
      `(z-y)(f(y) - f(x)) le (y-x)(f(z) - f(y))`<br>
      `iff (z-y)f(x) + (x-z)f(y) + (y-x)f(z) ge 0`.
    </span>
  </li>
</ol>

<p class="example">
	设 `f` 是定义在 `[0,+oo)` 上的下凸函数, `f(0) = 0`.
	证明: `AA a, b gt 0`, `f(a) + f(b) le f(a+b)`.
</p>

<p class="proof">
	由 `f` 是下凸函数得
	<span class="formula">
		`(f(a))/a le (f(a+b))/(a+b)`,
		`quad (f(b))/b le (f(a+b))/(a+b)`.
	</span>
	交叉相乘后再相加,
	<span class="formula">
		`(a+b)(f(a)+f(b)) le (a+b) f(a+b)`.
	</span>
</p>

<p class="example">
	证明: 对任意 `x, y != 0`, `|x+y|/(|x+y|+1) lt |x|/(|x|+1)
	+ |y|/(|y|+1)`.
</p>

<p class="proof">
	因为 `f(x) = x/(x+1) = 1-1/(x+1)` 在 `(0, +oo)` 是上凸函数, 且 `f(0)
	= 0`, 因此 `x, y` 同号时 `f(x+y) lt f(x)+f(y)`, 不等式成立.
	`x, y` 异号时, 利用 `f(x)` 的单调性, `f(|x+y|) le f(|x|+|y|) lt
	f(|x|)+f(|y|)`, 不等式也成立.
</p>

<ol class="theorem">
  设 `f` 在开区间 `I` 上可导, 则
  <li>`f` 是 `I` 上的下凸函数当且仅当 `f'` 单调增;</li>
  <li>`f` 在 `I` 上严格下凸当且仅当 `f'` 严格增.</li>
</ol>

<ol class="proof">
  <li>先设 `f` 是下凸函数.
    任取 `I` 上四点 `x lt y lt z lt w`, 下证 `f'(x) le f'(w)`.
    以 `k_(x y)` 记 `(x, f(x))`
    到 `(y, f(y))` 连线的斜率, 由 `f` 的凸性知道
    `k_(x y)` 关于 `x, y` 都单调增, 从而
    <span class="formula">
      `k_(x y) le k_(z w)`.
    </span>
    令 `y to x`, `z to w`,
    <span class="formula">
      `f'(x) le k_(x y) le k_(z w) le f'(w)`.
    </span>
    若 `f` 严格凸, 则 `k_(x y) lt k_(z w)`, 不等式严格成立.
  </li>
  <li>再设 `f'` 单调增, 取 `x lt y lt z`.
    由微分中值定理,
    <span class="formula">
      `k_(x y) = f'(xi) le f'(eta) = k_(y z)`.
    </span>
    即 `f` 是下凸函数. 若 `f'` 严格增, 则不等式严格成立.
  </li>
</ol>

<ol class="corollary">
  设 `f` 在开区间 `I` 上二阶可导, 则
  <li>`f` 是 `I` 上的下凸函数当且仅当 `f'' ge 0`;</li>
  <li>`f` 在 `I` 上严格下凸当且仅当 `f'' ge 0` 且在任意子区间上不恒为零.</li>
</ol>

<p class="proof">
  1. 是显然的. 2. 成立是因为一个可微函数 `g` 单增当且仅当 `g' ge 0`
  且在任意子区间上不恒为零.
</p>

<ol class="theorem">
  设 `f` 是开区间 `I` 上的下凸函数, 则
  <li>`f` 在 `I` 上处处有左、右导数;</li>
  <li>`f` 在 `I` 上连续;</li>
  <li>`f` 在 `I` 上只有可数个点处不可导.</li>
</ol>

<ol class="proof">
  <li>任取 `x_0 in I`, 令 `g(x) = (f(x)-f(x_0))/(x-x_0)`, 则 `g` 在 `I`
    上单调增. 任取 `x_0` 的邻域 `x_0 in B(x_0, delta) sube I`, 则
    `g` 在 `(x_0-delta, x_0)` 和 `(x_0, x_0+delta)` 上分别单调有界, 因而
    `f` 在 `x_0` 的左、右导数均存在.
  </li>
  <li>由 `g(x)` 在 `x_0` 的左、右极限存在知它在 `x_0` 附近局部有界,
    设 `|g(x)| le M`, 则
    <span class="formula">
      `|f(x)-f(x_0)| le M |x-x_0|`, `quad x` 在 `x_0` 的某个邻域.
    </span>
    从而 `f` 在 `x_0` 处连续.
  </li>
  <li>由极限保序性知道 `f` 在每一点的左导数不超过其右导数,
    又设 `x lt y lt z`, 由凸性
    <span class="formula">
      `f'(x+0) le k_(x y) le k_(y z) le f'(z-0)`.
    </span>
    因此 `f` 的全体不可导的点与 `RR` 上不相交的开区间族一一对应:
    <span class="formula">
      `{ (f'(x-0), f'(x+0)): f" 在 "x" 处不可导 "}`.
    </span>
    后者是可数的.
  </li>
</ol>

<h2>Taylor 公式</h2>

<p class="theorem">
  <b>Lagrange 余项的 Taylor 公式</b>
  设 `f^((n))` 在 `a` 到 `x` 之间的闭区间连续, 开区间可微,
  则存在开区间中一点 `xi` 使得
  <span class="formula">
    `f(x) = sum_(k=0)^n (f^((k))(a))/(k!) (x-a)^k + (f^((n+1))(xi))/(n+1)! (x-a)^(n+1)`.
  </span>
  其中 `T(x) = sum_(k=0)^n (f^((k))(a))/k! (x-a)^k` 称为 `f` 在 `a` 处的
  <b>Taylor 多项式</b>, `R(x) = f(x) - T(x)` 称为 <b>Lagrange 余项</b>.
</p>

<p class="proof">
  计算可知 `R^((k))(a) = 0`, `k = 0, cdots, n`.
  考虑函数 `g(x) = (x-a)^(n+1) // (n+1)!`, 它在 `a` 处也有
  `g^((k))(a) = 0`, `k = 0, cdots, n`.
  应用 Cauchy 中值定理得
  <span class="formula">
    `(R(x))/(g(x))`
    `= (R(x) - R(a))/(g(x) - g(a))`
    `= (R'(xi_1))/(g'(xi_1))`,
  </span>
  `xi_1` 位于 `x` 到 `a` 的开区间. 继续应用 Cauchy 中值定理, 最终得到
  <span class="formula">
    `(R(x))/(g(x)) = (R^((n+1))(xi))/(g^((n+1))(xi)) = f^((n+1))(xi)`.
  </span>
  即
  <span class="formula">
    `f(x) = T(x) + (f^((n+1))(xi))/(n+1)! (x-a)^(n+1)`.
  </span>
</p>

<p class="theorem">
  <b>Peano 余项的 Taylor 公式</b>
  设 `f^((n))` 在 `a` 点的邻域有定义, 则对该邻域内的任意 `x` 成立
  <span class="formula">
    `f(x) = sum_(k=0)^n (f^((k))(a))/(k!) (x-a)^k + o((x-a)^n)`,
    `quad x to a`.
  </span>
</p>

<p class="proof">
  反复使用洛必达法则,
  <span class="formula">
    `lim_(x to a) (R(x))/((x-a)^n//n!)`
    `= lim_(x to a) (R^((n-1))(x))/(x-a)`
    `= lim_(x to a) (f^((n-1))(x) - f^((n-1))(a) - f^((n))(a) (x-a))/(x-a)`
    `= lim_(x to a) (f^((n-1))(x) - f^((n-1))(a))/(x-a) - f^((n))(a)`
    `= 0`.
  </span>
</p>

<p class="remark">
  Taylor 公式用 Taylor 多项式 `T(x)` 对 `f` 进行近似, `R(x)` 是它的误差.
  对于 Lagrange 余项, 区间 `(a, x)` 或 `(x, a)` 上恰存在中值 `xi`
  使等式成立; 这是 Lagrange 中值定理的高阶推广.
  而 Peano 余项指出了误差在 `a` 点附近的阶, 是对局部性质的刻画.
</p>

<p class="example">
	对称区间上的 Taylor 公式
	<span class="formula">
		`f(x+Delta x) - f(x-Delta x)`
		`= 2 sum_(k=1)^n f^((2k-1))(x) (Delta x^(2k-1))/((2k-1)!)`
		`+ (f^((2n+1))(xi) + f^((2n+1))(eta)) (Delta x^(2n+1))/((2n+1)!)`
	</span>
	没有偶数阶项, 同理 `f(x+Delta x) + f(x-Delta x)` 的展式没有奇数阶项.
</p>

<ol class="theorem" id="taylor-inequality">
	<b>Taylor 公式导出的若干不等式</b>
	对任意自然数 `n` 和任意 `x gt 0` 成立:
	<li>`sum_(k=0)^n x^k/(k!) lt "e"^x lt sum_(k=0)^n x^k/(k!)
		+ x^(n+1)/((n+1)!) "e"^x`;
	</li>
	<li>`sum_(k=0)^(2n-1) (-1)^k x^(2k+1)/((2k+1)!)`
		`lt sin x lt sum_(k=0)^(2n) (-1)^k x^(2k+1)/((2k+1)!)`;
	</li>
	<li>`sum_(k=0)^(2n-1) (-1)^k x^(2k)/((2k)!)`
		`lt cos x lt sum_(k=0)^(2n) (-1)^k x^(2k)/((2k)!)`;
	</li>
	<li>`sum_(k=0)^(2n-1) (-1)^k x^(k+1)/(k+1) lt ln(1+x)`
		`lt sum_(k=0)^(2n) (-1)^k x^(k+1)/(k+1)`;
	</li>
	对任意自然数 `n` 和任意 `0 lt x lt 1` 成立:
	<li>`sum_(k=1)^n x^k/k lt -ln(1-x)`
		`lt sum_(k=1)^n x^k/k + x^(n+1)/(n+1) (1-x)^(-n-1)`.
	</li>
</ol>

<ol class="proof">
	<li>`x gt 0` 时, 由 Taylor 展开
		<span class="formula">
			`"e"^x = sum_(k=0)^n x^k/(k!) + x^(n+1)/((n+1)!)
			"e"^(theta x)`,
			`quad 0 lt theta lt 1`
		</span>
		立即得到结论.
	</li>
	<li>`x gt 0` 时, 由 Taylor 展开
		<span class="formula">
			`sin x = sum_(k=0)^(2n-1) (-1)^k x^(2k+1)/((2k+1)!)
			+ x^(4n+1)/((4n+1)!) cos theta x`,
			`quad 0 lt theta lt 1`
		</span>
		得到不等式的后半部分; 由
		<span class="formula">
			`sin x = sum_(k=0)^(2n-2) (-1)^k x^(2k+1)/((2k+1)!)
			- x^(4n-1)/((4n-1)!) cos theta x`,
			`quad 0 lt theta lt 1`
		</span>
		得到不等式的前半部分.
	</li>
	<li>类似 `sin x` 的证明.</li>
	<li>`x gt 0` 时, 由 Taylor 展开
		<span class="formula">
			`ln(1+x) = sum_(k=0)^(2n-1) (-1)^k x^(k+1)/(k+1)
			+ x^(2n+1)/(2n+1) (1+theta x)^(-2n-1)`,
			`quad 0 lt theta lt 1`
		</span>
		得到不等式的后半部分; 由
		<span class="formula">
			`ln(1+x) = sum_(k=0)^(2n-2) (-1)^k x^(k+1)/(k+1)`
			`- x^(2n)/(2n) (1+theta x)^(-2n)`,
			`quad 0 lt theta lt 1`
		</span>
		得到不等式的前半部分.
	</li>
	<li>`0 lt x lt 1` 时, 由 Taylor 展开
		<span class="formula">
			`-ln(1-x) = sum_(k=1)^n x^k/k + x^(n+1)/(n+1) (1-theta
			x)^(-n-1)`,
			`quad 0 lt theta lt 1`
		</span>
		立即得到结论.
	</li>
</ol>

<p class="example">
  试比较 `"e"^pi` 和 `pi^"e"` 的大小.
</p>

<p class="solution">
  两边取对数, 即比较 `pi` 和 `"e"ln pi`;<br/>
  即比较 `pi/"e"` 和 `ln pi`;<br/>
  再取对数, 即比较 `ln pi-1` 和 `ln ln pi`.<br/>
  由于 `AA x gt 1` 有 `x-1 gt ln x`, 上述比较的结果为 "`gt`".
</p>

<h2>Padé 近似*</h2>

<p class="definition">
  <b>Padé 近似</b>
  Taylor 公式用多项式对函数在一点作近似, 而 Padé 近似是用有理函数.
  例如, 在 `x=0` 附近考虑函数 `ln(1+x)`, 由于
  <span class="formula">
    `(2+x) ln (1+x)`
    `= (2+x)(x - x^2/2 + O(x^3))`
    `= 2x + O(x^3)`,
  </span>
  所以
  <span class="formula">
    `ln(1+x) = (2x)/(2+x) + O(x^3)`,
    或者 `ln x = 2(x-1)/(x+1) + O((x-1)^3)`.
  </span>
  一般地, 希望 `x to 0` 时有
  <span class="formula">
    `F(x) = p(x) // q(x) + O(x^(n+1))`, `quad p, q` 为多项式, `q(0) = 1`, `del p + del q = n`.
  </span>
  由于 `q(0) != 0`, 上式可以写为 `q(x) F(x) = p(x) + O(x^(n+1))`,
  将 `F` Maclaurin 展开: `F(x) = f(x) + O(x^(m+1))`, `m = del p`, 有
  <span class="formula">
    `q(x) f(x) = p(x) + O(x^(n+1))`.
  </span>
  `f, p, q` 的 `k` 次项系数分别记为 `f_k`, `p_k`, `q_k`, 比较系数得
  `q_0 = 1` 和 `p_0 = q_0 f_0 = f_0`.
  此外尚有 `p_1, cdots, p_r`, `q_1, cdots, q_s`, 共 `r + s = n` 个待定系数,
  可以通过下面的方程组确定:
  <span class="formula">
    `q_0 f_1 + q_1 f_0 = p_1`,<br>
    `cdots`<br>
    `q_0 f_n + q_1 f_(n-1) + cdots + q_n f_0 = p_n`.
  </span>
  `p(x)//q(x)` 称为 `f` 在原点的 `r//s` 阶 Padé 近似.
</p>

<h3>常见函数在原点的 Padé 近似</h3>

[来自 <a href="https://zhuanlan.zhihu.com/p/92873681">玺之的数学专栏</a>]

`del q = 0` 时, Padé 近似就是 Taylor 公式.

<div class="flex">
<div>
<table>
  <caption>`ln(x+1)`</caption>
  <tr>
    <td>`del q\\del p`</td>
    <td>1</td>
    <td>2</td>
  </tr>
  <tr>
    <td>0</td>
    <td>`x`</td>
    <td>`x - x^2/2`</td>
  </tr>
  <tr>
    <td>1</td>
    <td>`(2x)/(2+x)`</td>
    <td>`(6x+x^2)/(6+4x)`</td>
  </tr>
</table>
</div>

<div>
<table>
  <caption>`"e"^x`</caption>
  <tr>
    <td>`del q\\del p`</td>
    <td>0</td>
    <td>1</td>
  </tr>
  <tr>
    <td>0</td>
    <td>`1`</td>
    <td>`1+x`</td>
  </tr>
  <tr>
    <td>1</td>
    <td>`1/(1-x)`</td>
    <td>`(2+x)/(2-x)`</td>
  </tr>
</table>
</div>

<div>
<table>
  <caption>`cos x`</caption>
  <tr>
    <td>`del q\\del p`</td>
    <td>0</td>
    <td>2</td>
  </tr>
  <tr>
    <td>0</td>
    <td>`1`</td>
    <td>`1 - x^2/2`</td>
  </tr>
  <tr>
    <td>2</td>
    <td>`2/(2+x^2)`</td>
    <td>`(12-5x^2)/(12+x^2)`</td>
  </tr>
</table>
</div>

<div>
<table>
  <caption>`(1+x)^a`</caption>
  <tr>
    <td>`del q\\del p`</td>
    <td>0</td>
    <td>1</td>
  </tr>
  <tr>
    <td>0</td>
    <td>`1`</td>
    <td>`1+a x`</td>
  </tr>
  <tr>
    <td>1</td>
    <td>`1/(1-a x)`</td>
    <td>`(2+(1+a)x)/(2+(1-a)x)`</td>
  </tr>
</table>
</div>
</div>

<p class="solution">
  以 `ln(1+x)` 在原点的 `2//1` 阶近似为例, 先将 `ln(1+x)` 展开到 `2+1 = 3` 阶:
  <span class="formula">
    `ln(1+x) ~~ x - x^2/2 + x^3/3`.
  </span>
  又设 `q(x) = 1 + q_1 x`, `p(x) = p_0 + p_1 x + p_2 x^2`, 得 `p_0 = 0`, 且
  <span class="formula">
    `p_1 = 1 * 1`,
    `quad p_2 = q_1 - 1/2`,
    `quad p_3 = 0 = -1/2 q_1 + 1/3`.
  </span>
  解得 `p_1 = 1`, `q_1 = 2/3`, `p_2 = 1/6`. 故 `(p(x))/(q(x)) = (6x+x^2)/(6+4x)`.
</p>

<h2>积分余项的 Taylor 公式*</h2>

<p class="theorem">
  <b>积分余项的 Taylor 公式</b>
  设 `f(t) in C^(n+1)[a, x]`, `g(t) = t^n//n!`, 考虑 `f^((n+1))` 与 `g`
  的卷积
  <span class="formula">
    `R_n(x) = f^((n+1)) ** g`
    `= 1/(n!) int_a^x (x-t)^n f^((n+1))(t) dt`.
  </span>
  我们有
  <span class="formula">
    `f(x) = sum_(k=0)^n (f^((k))(a))/(k!) (x-a)^k + R_n(x)`.
  </span>
  注意到 `f` 是 `f^((n+1))` 的 `n+1` 阶原函数,
  由此公式知道, 连续函数 `varphi` 的 `n` 阶原函数为
  <span class="formula">
    `p(x) + R_(n-1)(x) = p(x) + varphi ** t^(n-1)//(n-1)!`,
  </span>
  其中 `p(x)` 是次数小于 `n` 的多项式.
</p>

<p class="proof">
  分部积分,
  <span class="formula align">
    `R_n(x) = 1/(n!) [(x-t)^n f^((n))(t)]_a^x`
    `+ 1/((n-1)!) int_a^x (x-t)^(n-1) f^((n))(t) dt`<br>
    `= - (f^((n))(a))/(n!) (x-a)^n + R_(n-1)(x)`.
  </span>
  利用 `R_0(x) = sum_(k=1)^n (R_(k-1)(x) - R_k(x)) + R_n(x)` 求和即得结论.
</p>

<p class="theorem">
  <b>Darboux 公式</b>
  现在考虑一般情形. 设 `f(x) in C^(n+1)[a, b]`,
  `g(y)` 是 `[c, d]` 上的 `n` 次多项式. 关于 `f^((n+1))` 和 `g` 的卷积, 有
  <span class="formula">
    `C (f(b) - f(a))`
    `= sum_(k=1)^n (b-a)^k (d-c)^(n-k)
    |f^((k))(a), f^((k))(b); g^((n-k))(c), g^((n-k))(d)|`
    `+ int_0^1 (b-a)^(n+1) f^((n+1))(x) g(y) dt`.
  </span>
  其中 `C = (d-c)^n g^((n))(y)` 为一常数.
</p>

<p class="proof">
  通过换元 `x = a + (b-a) t`, `y = d - (d-c) t` 将积分区间化为 `[0, 1]`,
  则下面的分部积分公式刚好将一阶导数从 `f` 转移到 `g`:
  <span class="formula">
    `(b-a) int_0^1 f'(x) g(y) dt`
    `= f(x) g(y) |_(t=0)^1`
    `+ (d-c) int_0^1 f(x) g'(y) dt`.
  </span>
  配上适当的系数和求导的阶数, 使两边的积分形式相同:
  <span class="formula align">
    `I_k = int_0^1 (b-a)^(k+1) f^((k+1))(x) (d-c)^(n-k) g^((n-k))(y) dt`<br>
    `= (b-a)^k f^((k))(x) (d-c)^(n-k) g^((n-k))(y) |_(t=0)^1`
    `+ int_0^1 (b-a)^k f^((k))(x) (d-c)^(n-k+1) g^((n-k+1))(y) dt`<br>
    `= -(b-a)^k (d-c)^(n-k)
    |f^((k))(a), f^((k))(b); g^((n-k))(c), g^((n-k))(d)|`
    `+ I_(k-1)`.
  </span>
  于是
  <span class="formula">
    `I_0 = int_0^1 (d-c)^n g^((n))(y) (b-a) f'(x) dt`
    `= C int_a^b f'(x) dx`
    `= C (f(b) - f(a))`,
  </span>
  利用 `I_n = I_0 + sum_(k=1)^n (I_k - I_(k-1))` 求和即得结论.
</p>

<p class="corollary">
  在 Darboux 公式中, `g` 取不同的多项式, 就得到不同的求和公式.
  如 Taylor 公式、
  <a href="../analysis/10.html#the-euler-maclaurin">Euler-Maclaurin 公式</a>:
  <span class="formula">
    `sum_(j=1)^(N-1) psi(j)`
    `= int_0^N psi(t) dt`
    `- (psi(0) + psi(N))/2`
    `+ sum_(k=1)^m B_(2k)/(2k)! [psi^((2k-1))(N) - psi^((2k-1))(0)]`
    `- int_0^N psi^((2m))(t) (B_(2m)(t-|__t__|))/(2m)! dt`.
    <span class="label" id="fml-euler-maclaurin"></span>
  </span>
</p>

<ol class="solution">
  <li>`g(y) = y^n//n!`, `[c, d] = [0, 1]` 时, 得到 Taylor 公式:
    <span class="formula">
      `f(b) - f(a) = sum_(k=1)^n (b-a)^k f^((k))(a)//k!` `+ R_n`,
    </span>
    注意 `(b-a) y = (b-a)(1-t)` `= b-a-t(b-a) = b-x`, 因此余项等于
    <span class="formula">
      `R_n = int_0^1 (b-a)^(n+1) f^((n+1))(x) y^n//n! dt`
      `= int_a^b f^((n+1))(x) (b-x)^n//n! dx`.
    </span>
  </li>
  <li>`g(y) = y^n//n!`, `[c, d] = [-1, 1]` 时, 得到<b>在区间两边展开的 Taylor 公式</b>:
    <span class="formula">
      `f(b) - f(a)`
      `= sum_(k=1)^n ((b-a)/2)^k/k! [f^((k))(a) - (-1)^k f^((k))(b)]`
      `+ int_a^b f^((n+1))(x) ((a+b)/2-x)^n//n! dx`.
    </span>
  </li>
  <li>取 `g(y)` 为 Bernoulli 多项式 `B_n(y)//n!`, `[c, d] = [0, 1]`, 就得到
    Euler-Maclaurin 公式:
    事实上, `B_n(y)` 是首一的 `n` 次多项式, 且 `B_n(y)//n!` 的导数满足和
    `x^n//n!` 相同的等式:
    <span class="formula">
      `"d"/dy (B_n(y))/n! = (B_(n-1)(y))/(n-1)!`,
    </span>
    从而
    <span class="formula">
      `f(b) - f(a)`
      `= sum_(k=1)^n (b-a)^k/k! [f^((k))(a) B_k(1) - f^((k))(b) B_k(0)]`
      `+ int_0^1 (b-a)^(n+1) f^((n+1))(x) B_n(1-t) // n! dt`.
    </span>
    由于 `B_1(0) = -1/2`, `B_1(1) = 1/2`, 且
    `k ge 2` 时 `B_k(0) = B_k(1)`,
    又对奇数 `k ge 3` 有 `B_k(0) = B_k(1) = 0`,
    记 `B_n = B_n(0)`,  我们有
    <span class="formula">
      `f(b) - f(a)`
      `= (b-a)/2 [f'(a) + f'(b)]`
      `+ sum_(k=1)^m (b-a)^(2k)/(2k)! B_(2k) [f^((2k))(a) - f^((2k))(b)]`
      `+ int_0^1 (b-a)^(2m+1) f^((2m+1))(x) B_(2m)(1-t) // (2m)! dt`.
    </span>
    其中 `n = 2m`.  利用公式 `B_(2m)(1-t) = (-1)^(2m) B_(2m)(t)`, 余项的
    `B_(2m)(1-t)` 也可以写成 `B_(2m)(t)`.
  </li>
  <li>如果记 `f' = varphi`, `h = b-a`, 则有 Euler-Maclaurin 公式的积分形式:
    <span class="formula">
      `int_a^(a+N h) varphi(x) dx`
      `= sum_(j=1)^N h/2 [varphi(a+(j-1)h) + varphi(a+j h)]`
      `+ sum_(j=1)^N sum_(k=1)^m h^(2k)/(2k)! B_(2k) [varphi^((2k-1))(a+(j-1)h) - varphi^((2k-1))(a+j h)] + R_m`
      `= sum_(j=1)^(N-1) h varphi(a+j h)`
      `+ h/2[varphi(a) + varphi(a+N h)]`
      `+ sum_(k=1)^m h^(2k)/(2k)! B_(2k) [varphi^((2k-1))(a) - varphi^((2k-1))(a+N h)] + R_m`.
    </span>
    或者记 `psi(t) = varphi(a+t h)`, 就得到形如
    <a class="ref" href="#fml-euler-maclaurin"></a>
    的 Euler-Maclaurin 公式.
  </li>
</ol>

<ol class="example">
  设 `f'(a) = f'(b) = 0`, `h = b - a`, 证明:
  <li>当 `f` 在 `[a, b]` 上二阶可导时, 存在 `xi in [a, b]` 使得
    <span class="formula">
      `|f(b) - f(a)| le h^2/4 |f''(xi)|`.
    </span>
  </li>
  <li>当 `f in C^3[a, b]` 时, 存在 `xi in [a, b]` 使得
    <span class="formula">
      `|f(b) - f(a)| le h^3/12 |f'''(xi)|`.
    </span>
  </li>
</ol>

<ol class="solution">
  <li>将 `f((a+b)/2)` 在区间两边分别用 Taylor 公式展开,
    <span class="formula">
      `f((a+b)/2) = f(a) + (f''(xi))/2 (h/2)^2`
      `= f(b) + (f''(eta))/2 (h/2)^2`.
    </span>
    两式相减得
    <span class="formula">
      `|f(b) - f(a)|`
      `= |f''(xi) + f''(eta)| h^2/8`
      `le max{|f''(xi)|, |f''(eta)|} h^2/4`.
    </span>
  </li>
  <li>[来自 ζ(me)=0] 同样使用在区间两边展开的 Taylor 公式,
    <span class="formula align">
      `f(b) - f(a)`<br>
      `= int_a^b f'(x) "d"(x - (a+b)/2)`<br>
      `= - int_a^b f''(x) (x-(a+b)/2) dx`<br>
      `= - int_a^b [f''(x) - f''((a+b)/2)] (x-(a+b)/2) dx`<br>
      `= - int_a^b f'''(eta(x)) (x-(a+b)/2)^2 dx`<br>
      `= - f'''(xi) int_a^b (x-(a+b)/2)^2 dx`<br>
      `= - f'''(xi) (b-a)^3 // 12`.
    </span>
    于是 `|f(b) - f(a)| le h^3/12 |f'''(xi)|`.
  </li>
</ol>

<script src="../../js/note.js?type=math"></script>
</body>
</html>
